/*
    Coder : Dzlua
    Email : 505544956@qq.com
    Time  : 2017/07/04
*/
#pragma once

#include <memory>
#include <string>

namespace dzlua {
namespace av {

class Player {
public:
    static std::shared_ptr<Player> NewInterface();
public:
    virtual bool Init() = 0;
    virtual void Quit() = 0;
    virtual void Run() = 0;
    virtual bool Open(const std::string &file) = 0;
    virtual void Close() = 0;
    virtual void Play() = 0;
    virtual void Stop() = 0;
    virtual void Pause() = 0;
    virtual void Continue() = 0;
    virtual void Seek(double pos) = 0;
};

} // end namespace av
} // end namespace dzlua